Aggregation $lookup
এই ইন্টিগ্রেশন লেভেল একই ডাটাবেসের একটি সংগ্রহের সাথে একটি বাম বাইরের যোগদান করে।
চারটি প্রয়োজনীয় ক্ষেত্র রয়েছে:
প্রয়োজনীয় ক্ষেত্র
| ক্ষেত্র | ব্যাখ্যা |
|---|---|
| from | একই ডাটাবেসে লুকআপের জন্য ব্যবহার করার জন্য একটি সংগ্রহ |
| localField | মূল সংগ্রহের একটি ক্ষেত্র যা সংগ্রহ থেকে একটি অনন্য শনাক্তকারী হিসাবে ব্যবহার করা যেতে পারে |
| foreignField | from সংগ্রহের একটি ক্ষেত্র যা মূল সংগ্রহে একটি অনন্য শনাক্তকারী হিসাবে ব্যবহার করা যেতে পারে৷ |
| as | নতুন ক্ষেত্রের নাম যা সংগ্রহ থেকে মিলিত নথি ধারণ করে |
উদাহরণ
এই উদাহরণে, আমরা "sample_mflix" ডাটাবেস ব্যবহার করছি, যা ইন্টিগ্রেশন পরিচিতি বিভাগ থেকে আমাদের নমুনা ডেটা থেকে লোড করা হয়েছিল।
db.comments.aggregate([
{
$lookup: {
from: "movies",
localField: "movie_id",
foreignField: "_id",
as: "movie_details",
},
},
{
$limit: 1
}
])
এটি প্রতিটি মন্তব্যের জন্য মুভি ডেটা ফেরত দেবে।
বর্ণনা:
$lookup শর্ত দুটি সংগ্রহে যোগদানের জন্য ব্যবহৃত হয়। এই উদাহরণে, মন্তব্য সংগ্রহ সিনেমা সংগ্রহের সাথে লিঙ্ক করা হয়েছে। মন্তব্য সংগ্রহের মুভি_আইডি ক্ষেত্রটি চলচ্চিত্র সংগ্রহের _id ক্ষেত্রের সাথে মেলে। সংযোজিত ডেটা মুভি_বিস্তারিত নামে একটি নতুন ক্ষেত্রে যোগ করা হবে।